<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // function foo1() {
        //     console.log("1.1.1.",this)
        // }
        // foo1(); // MemberExpression 是 foo

        // function foo2() {
        //     return function () {
        //         console.log("2.2.2",this)
        //     }
        // }
        // foo2()(); // MemberExpression 是 foo()

        // var foo3 = {
        //     bar: function () {
        //         console.log("3.3.33",this);
        //     }
        // }
        // foo3.bar(); // MemberExpression 是 foo.bar



        // var value = 1;
        // var foo4 = {
        //     value: 2,
        //     bar: function () {
        //         return this.value;
        //     }
        // }
        // //示例1
        // console.log(foo4.bar()); // 2 foo
        // //示例2
        // console.log((foo4.bar)()); // 2 (foo) 
        // //示例3
        // console.log((foo4.bar = foo4.bar)()); // 1  // 运算过后只返回了 function 所以指向window
        // //示例4
        // console.log((false || foo4.bar)()); // 1
        // //示例5
        // console.log((foo4.bar, foo4.bar)()); // 1


        function Foo() {
            getName = function () { // 变量提升了
                console.log(1);
            };
            console.log(this)
            return this
        }
        function getName() {
            console.log(5);
        }
        Foo().getName();
    </script>
</body>

</html>